package com.quectel.core.module.propertybill.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.quectel.core.module.propertybill.entity.PropertyBillEntity;
import com.quectel.core.module.propertybill.vo.PropertyBillAmountCountVo;

import java.util.List;
import java.util.Map;

/**
 * @author zhangheng
 * @email nolan.zhang@quectel.com
 * @date 2023/03/31 16:28
 */

public interface PropertyBillDao extends BaseMapper<PropertyBillEntity> {


    /**
     * 查询对应条件的楼层Id
     *
     * @param params
     * @return
     */
    List<Long> queryFloorIds(Map<String, Object> params);

    /**
     * 查询对应条件的楼栋Id
     *
     * @param params
     * @return
     */
    List<Long> queryBuildingIds(Map<String, Object> params);

    /**
     * 账单统计
     *
     * @param params
     * @return
     */
    int countRoom(Map<String, Object> params);

    /**
     * 账单统计
     *
     * @param params
     * @return
     */
    PropertyBillAmountCountVo countAmount(Map<String, Object> params);

    /**
     * 查询列表
     *
     * @param params
     * @return
     */
    List<PropertyBillEntity> queryList(Map<String, Object> params);

    /**
     * 查询数量
     *
     * @param params
     * @return
     */
    int queryTotal(Map<String, Object> params);
}
